package com.summer.test.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import com.summer.user.model.User;




@Entity
@Table(name="system_fee")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = "entityCache")
public class SystemFee implements Serializable {
	

	/**
	 * 费用
	 */
	private static final long serialVersionUID = 3155730096522422548L;
	//流水ID
	private String id;
	//费用名称
	private String name;
	//状态  1.使用中，2.停用
	private Integer status;
	//费用类型 1.比例 ，2.固定
	private Integer feeType;
	//账户信息
	private String accountInfo;
	//渠道信息
	private String channelInfo;
	
	// 录入人
	private User operUser;
	// 录入时间
	private Date operDatetime;
	// 修改人
	private User updateUser;
	// 修改时间
	private Date updateDatetime;
	
	
	@Id
	@Column(name = "id", unique = true, nullable = false)
	public String getId() {
		return id;
	}
	@Column(name="name")
	public String getName() {
		return name;
	}
	@Column(name = "status", nullable = false, length = 1)
	public Integer getStatus() {
		return status;
	}
	@Column(name = "fee_TYPE", nullable = false, length = 1)
	public Integer getFeeType() {
		return feeType;
	}
	@Column(name="account_info")
	public String getAccountInfo() {
		return accountInfo;
	}
	@Column(name="channel_info")
	public String getChannelInfo() {
		return channelInfo;
	}
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "OPER_USER")
	public User getOperUser() {
		return operUser;
	}
	
	@Column(name="Oper_datetime")
	public Date getOperDatetime() {
		return operDatetime;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "UPDATE_USER")
	public User getUpdateUser() {
		return updateUser;
	}
	
	
	
	@Column(name="Update_datetime")
	public Date getUpdateDatetime() {
		return updateDatetime;
	}
	public void setId(String id) {
		this.id = id;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	public void setFeeType(Integer feeType) {
		this.feeType = feeType;
	}
	public void setAccountInfo(String accountInfo) {
		this.accountInfo = accountInfo;
	}
	public void setChannelInfo(String channelInfo) {
		this.channelInfo = channelInfo;
	}


	public void setOperUser(User operUser) {
		this.operUser = operUser;
	}
	
	
	
	public void setOperDatetime(Date operDatetime) {
		this.operDatetime = operDatetime;
	}

	public void setUpdateUser(User updateUser) {
		this.updateUser = updateUser;
	}
	
	
	public void setUpdateDatetime(Date updateDatetime) {
		this.updateDatetime = updateDatetime;
	}
	
	
	
	
	
	
	
}
